<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      function randomPro() {
        return new Promise((resolve, reject) => {
          setTimeout(() => {
            const num = parseInt(Math.random() * 100)
            if (num > 0 && num < 50) {
              resolve('我成功了' + num)
            } else {
              reject('我失败了' + num)
            }
          }, 2000)
        })
      }
      const p = randomPro()
      console.log('刚刚实例化', p) // pending 默认
      p.then(
        (res) => {
          console.log('成功', p) // fulfilled 成功
        },
        (err) => {
          console.log('失败', p) // rejected 失败
        }
      )
      // 为什么要把p单独存起来:保证三次打印的promise对象是同一个对象
      // 对象、数组是一个复杂类型，打印的是内存地址，输出之后，点开对象，看到的就是最终的结果
    </script>
  </body>
</html>
